<?php
class Plugin_hide implements Plugin {
	
	public static function getName(){
		return __('[hide]. Приховуємо текст від гостей');
	}
	
	public static function getVersion(){
		return '1.0';
	}
	
	public static function getDescription(){
		return __('Приховування певного тексту від гостей за допомогою тега [hide]');
	}
	
	public static function getHasAdmin(){
		return true;
	}
	
	public static function run(){
		Users::getInstance()->addUsergroupPermission('show_hide_tag',__('Показувати прихований текст'),'select',array(__('Ні') , __('Так')));

		$filters = array(
		'newsshort>short-story',
		'newsfull>full-story',
		'comments>signature',
		'comments>comment',
		);
		
		foreach ($filters as $filter) {
			Filter::setFilter($filter, array(__CLASS__,'filter'));
		}
	}

	public static function filter($var){
	    if (Users::getInstance()->can(Users::getInstance()->getLoggedUsersData('uid'),'show_hide_tag')) {
	    	return preg_replace('~\[hide\](.*?)\[\/hide\]~i','\\1',$var);
	    } else {
	    	return preg_replace('~\[hide\](.*?)\[\/hide\]~i',Config::get('unreg_mess','plugin_hide'),$var);
	    }
	}

	public static function onActivate(){}
	public static function onDeactivate(){}
	
	public static function initAdminArea(){
		$config = new makeConfig('plugin_hide');
		$config->textarea('unreg_mess','Напис для незареєстрованих користувачів')->get();
	}
}